A multi-user environment allows multiple clients to interact with applications executed on a remote server. Users operating the clients receive generally the same user experience as if the applications were executed locally by the clients. One type of multi-user environment is Terminal Services, which uses the Remote Desktop Protocol (RDP). Terminal Services is produced by Microsoft Corporation of Redmond, Wash.
It is desirable to test any software product prior to commercial release. The same is true with products that operate in a multi-user environment. However, various challenges may arise when performing tests in a multi-user environment. For instance, as appreciated by the present inventors, one or more tests may affect the global state of the multi-user environment, raising the possibility that one test may interfere with another.
One approach to testing in a multi-user environment is to provide a single custom-designed monolithic test application that performs a collection of tests. However, this approach is basically ad hoc in nature, requiring the developer to painstakingly work out the interaction among the multiple tests within the application. This characteristic of the approach makes it difficult to add new tests to the application or otherwise modify the application. In other words, this solution does not scale well to the evolving needs of a test community.
There is accordingly a need for more effective solutions for performing tests in a multi-user environment.